package com.dog.basics.service.common;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dog.basics.bean.dto.admin.common.CommonProblemAddDto;
import com.dog.basics.bean.dto.admin.common.CommonProblemEditDto;
import com.dog.basics.bean.dto.admin.common.CommonProblemSelectDto;
import com.dog.basics.bean.model.common.SysCommonProblem;
import com.dog.basics.bean.vo.admin.sys.CommonProblemDetailVo;
import com.dog.basics.bean.vo.admin.sys.CommonProblemPageVo;
import com.dog.basics.bean.vo.api.common.CommonProblemAppPageVo;
import com.dog.basics.common.util.PageParam;

/**
 * <p>
 * 常见问题 服务类
 * </p>
 *
 * @author fengjukang
 * @since 2019-10-11
 */
public interface ISysCommonProblemService extends IService<SysCommonProblem> {

    /**
     * 常见问题列表
     *
     * @param page
     * @param dto
     * @return
     * @author guonh
     */
    IPage<CommonProblemPageVo> getCommonProblemPage(PageParam page, CommonProblemSelectDto dto);

    /**
     * 常见问题添加
     *
     * @param dto
     * @return
     * @author guonh
     */
    Boolean addCommonProblem(CommonProblemAddDto dto);

    /**
     * 常见问题修改
     *
     * @param dto
     * @return
     * @author guonh
     */
    Boolean editCommonProblem(CommonProblemEditDto dto);

    /**
     * 常见问题删除
     *
     * @param id
     * @return
     * @author guonh
     */
    Boolean delCommonProblem(Long id);

    /**
     * 常见问题列表
     *
     * @param page
     * @param dto
     * @return
     * @author guonh
     */
    IPage<CommonProblemAppPageVo> getCommonProblemPageList(PageParam page, CommonProblemSelectDto dto);

    /**
     * 常见问题详情
     *
     * @param id
     * @return
     * @author guonh
     */
    CommonProblemDetailVo getCommonProblemDetail(Long id);
}
